program rainboweditor;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms, mainformunit, globals, databaseformunit, database, database_terms,
  database_actors, setmaximumformunit, gamefont, constants, imageselection,
  database_base, traitlist, tilepalettedrawerunit, traitselector,
  comboboxhelper, tilepaletteunit, mapviewframeunit, mapdrawerunit,
  tilesetgraphicsunit, tileselectionunit, aboutformunit, itemselectorframeunit,
  database_classes, expcurveformunit, parametercurvesformunit,
  parametercurvegeneratorformunit, clipboardhelper, learninglistframeunit,
  editlearningformunit, database_skills, effectlistframeunit,
  skillitemadditionaldataframeunit, iconselection, effectselector,
  listboxhelper, database_items
  { you can add units after this }, LCLTranslator, languagehelper,
  database_weapons, paramchangesframeunit, database_armours, database_enemies,
  controlhelper, actionpatternsframeunit, imghelper, dropitemselection,
  actionpatternselection, namedindexselection, database_troops,
  doublebackgroundselection, battleeventframeunit,
  battleventconditionsselection, filehelper, eclistframeunit, eccolourscheme,
  ecstringiser, database_states, database_tilesets, database_cevs, ec_base,
  ec_plugincommand, ec_showmessage, newecformunit, ec_inputnumber,
  ec_showchoices, ec_selectitem, ec_scrolltext, ec_setswitches, ec_setvariables,
  ec_setselfswitch, ec_controltimer, ec_condbranch, eventeditorunit,
  database_system, database_start, windowskincolourformunit,
  mapplaceselectionunit, maplistframeunit, mappropertiesformunit,
  ec_callcommonevent, partymemberselectionformunit, database_types,
  database_svbattle, attackmotionselectionformunit, ec_labelbase, ec_label,
  ec_goto, ec_monospacedtextbase, ec_comment, ec_changegold,
  ec_changeinventorybase, ec_changeitems;

{$R *.res}

begin
  RequireDerivedFormResource := True;
  Application.Scaled := True;
  Application.Initialize;
  Application.CreateForm(TMainForm, MainForm);
  Application.CreateForm(TDatabaseForm, DatabaseForm);
  Application.CreateForm(TSetMaximumForm, SetMaximumForm);
  Application.CreateForm(TImageSelectionForm, ImageSelectionForm);
  Application.CreateForm(TTraitSelectorForm, TraitSelectorForm);
  Application.CreateForm(TEffectSelectorForm, EffectSelectorForm);
  Application.CreateForm(TAboutForm, AboutForm);
  Application.CreateForm(TExpCurveForm, ExpCurveForm);
  Application.CreateForm(TParameterCurvesForm, ParameterCurvesForm);
  Application.CreateForm(TParameterCurveGeneratorForm,
    ParameterCurveGeneratorForm);
  Application.CreateForm(TEditLearningForm, EditLearningForm);
  Application.CreateForm(TIconSelectionForm, IconSelectionForm);
  Application.CreateForm(TDropItemSelectionForm, DropItemSelectionForm);
  Application.CreateForm(TActionPatternSelectionForm, ActionPatternSelectionForm
    );
  Application.CreateForm(TNamedIndexSelectionForm, NamedIndexSelectionForm);
  Application.CreateForm(TDoubleBackgroundSelectionForm,
    DoubleBackgroundSelectionForm);
  Application.CreateForm(TBattleEventConditionsSelectionForm, 
    BattleEventConditionsSelectionForm);
  Application.CreateForm(TNewECForm, NewECForm);
  Application.CreateForm(TECCondBranchFrame, ECCondBranchFrame);
  Application.CreateForm(TEventEditorForm, EventEditorForm);
  Application.CreateForm(TWindowSkinColourForm, WindowSkinColourForm);
  Application.CreateForm(TMapPlaceSelectionForm, MapPlaceSelectionForm);
  Application.CreateForm(TTMapPropertiesForm, TMapPropertiesForm);
  Application.CreateForm(TECCallCommonEventFrame, ECCallCommonEventFrame);
  Application.CreateForm(TPartyMemberSelectionForm, PartyMemberSelectionForm);
  Application.CreateForm(TAttackMotionSelectionForm, AttackMotionSelectionForm);
  Application.CreateForm(TECLabelBaseFrame, ECLabelBaseFrame);
  Application.CreateForm(TECLabelFrame, ECLabelFrame);
  Application.CreateForm(TECGotoFrame, ECGotoFrame);
  Application.CreateForm(TECMonospacedTextBaseFrame, ECMonospacedTextBaseFrame);
  Application.CreateForm(TECCommentFrame, ECCommentFrame);
  Application.CreateForm(TECChangeGoldFrame, ECChangeGoldFrame);
  Application.CreateForm(TECChangeInventoryBaseFrame, ECChangeInventoryBaseFrame
    );
  Application.CreateForm(TECChangeItemsFrame, ECChangeItemsFrame);
  Application.Run;
end.

